package cron

import (
	"fmt"
	"hft/tools/cron/task"

	"github.com/robfig/cron/v3"
)

// 定时任务

// 返回一个支持至 秒 级别的 cron
func newWithSeconds() *cron.Cron {
	secondParser := cron.NewParser(cron.Second | cron.Minute |
		cron.Hour | cron.Dom | cron.Month | cron.DowOptional | cron.Descriptor)
	return cron.New(cron.WithParser(secondParser), cron.WithChain())
}

func SetTask() {
	c := newWithSeconds()
	c.AddFunc(task.ProTectTimeTask.Spec, task.ProTectTimeTask.UpdateProTime)
	c.AddFunc(task.SiteTask.Spec, task.SiteEnd)
	c.AddFunc(task.AudioAuditSpec.Spec, task.AudioAuditSpec.AuditPhoneAudio)
	c.AddFunc(task.GeoSpec.Spec, task.GeoSpec.UpdateGeo)
	fmt.Println("定时任务开启")
	c.Start()
	select {}
}
